package cn.ichensw.otherworldlystationbackend.service;

import cn.ichensw.otherworldlystationbackend.common.DeleteRequest;
import cn.ichensw.otherworldlystationbackend.model.dto.filmtelevision.FilmTelevisionAddRequest;
import cn.ichensw.otherworldlystationbackend.model.dto.filmtelevision.FilmTelevisionQueryRequest;
import cn.ichensw.otherworldlystationbackend.model.dto.filmtelevision.FilmTelevisionUpdateRequest;
import cn.ichensw.otherworldlystationbackend.model.entity.FilmTelevision;
import cn.ichensw.otherworldlystationbackend.model.vo.filmtelevision.FilmTelevisionVO;
import cn.ichensw.otherworldlystationbackend.utils.PageResult;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @author csw
 */
public interface FilmTelevisionService extends IService<FilmTelevision> {

    /**
     * 列表查询
     *
     * @param filmTelevisionQueryRequest 影视信息请求类
     * @param request
     * @return Page<FilmTelevisionVO>
     */
    List<FilmTelevisionVO> listFilmTelevision(FilmTelevisionQueryRequest filmTelevisionQueryRequest, HttpServletRequest request);

    /**
     * 修改影视信息
     *
     * @param filmTelevisionUpdateRequest 影视信息请求类
     * @param request                     请求
     * @return Boolean
     */
    Boolean updateFilmTelevision(FilmTelevisionUpdateRequest filmTelevisionUpdateRequest, HttpServletRequest request);

    /**
     * 添加影视信息
     *
     * @param filmTelevisionAddRequest 影视信息请求类
     * @param request                  请求
     * @return Long
     */
    Long addFilmTelevision(FilmTelevisionAddRequest filmTelevisionAddRequest, HttpServletRequest request);

    /**
     * 删除影视信息
     *
     * @param deleteRequest 删除请求类
     * @param request       请求
     * @return Boolean
     */
    Boolean deleteFilmTelevision(DeleteRequest deleteRequest, HttpServletRequest request);

    /**
     * 根据ID查询影视信息
     *
     * @param id      影视ID
     * @param request
     * @return FilmTelevisionVO
     */
    FilmTelevisionVO getFilmTelevisionById(Long id, HttpServletRequest request);

}
